import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class Test {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(11);
        list.add(12);
        list.add(13);
        list.add(14);
        list.add(15);
        //使用下标+for遍历
        for (int i = 0;i < list.size();i++){//size是list中元素的数量
            System.out.println(list.get(i) + "");
        }
        System.out.println();
        //借助foreach遍历
        for (Integer x:list){
            System.out.print(x + " ");
        }
        //使用迭代器
        ListIterator<Integer> it = list.listIterator();
        while (it.hasNext()){
            System.out.println(it.next() + " ");
        }
    }
    public static void main1(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(11);
        list.add(12);
        list.add(13);
        list.add(14);
        list.add(15);
        list.add(16);
        System.out.println("=============");
        /*ArrayList<Integer> sub = list.subList(1,3);
        * 这个语句的意思就是——用一个“ArrayList<Integer>”类型的变量sub去接收一个list对象中subList方法的返回值*/
        List<Integer> sub = list.subList(1, 3);//[1,3)sublist返回值是一个list接口，要用list类接受
        System.out.println(sub);
        sub.set(0,999);//试图将sub中的零下标的值改为999
        System.out.println(sub);
        System.out.println(list);//结果将list中的数据也一起改了
    }
}
